package com.hengtongxing.hejiayun_employee.mine.model;

import com.hengtongxing.hejiayun_employee.base.DataCallBack;
import com.hengtongxing.hejiayun_employee.bean.AddressListBean;
import com.hengtongxing.hejiayun_employee.bean.BaseResponseBean;
import com.hengtongxing.hejiayun_employee.bean.DirectorListBean;
import com.hengtongxing.hejiayun_employee.bean.ExchangeDetailsBean;
import com.hengtongxing.hejiayun_employee.bean.ExchangeListBean;
import com.hengtongxing.hejiayun_employee.bean.MyPlanListBean;
import com.hengtongxing.hejiayun_employee.bean.OrderDetailsBean;
import com.hengtongxing.hejiayun_employee.bean.OrderListBean;
import com.hengtongxing.hejiayun_employee.bean.PlanConfigListBean;
import com.hengtongxing.hejiayun_employee.bean.PosterListBean;
import com.hengtongxing.hejiayun_employee.bean.RechargeConfigBean;
import com.hengtongxing.hejiayun_employee.bean.SginConfigBean;
import com.hengtongxing.hejiayun_employee.bean.SginTaskBean;
import com.hengtongxing.hejiayun_employee.bean.SignInDayBean;
import com.hengtongxing.hejiayun_employee.bean.SignIsBean;
import com.hengtongxing.hejiayun_employee.bean.UserInfoBean;

public interface IMineModel {
    /**
     * 个人中心
     */
    void requestMine(DataCallBack<UserInfoBean> callBack);

    /**
     * 意见反馈
     */
    void requestFeedBack(String content, DataCallBack<BaseResponseBean> callBack);

    /**
     * 登出
     */
    void requestLoginOut(String id, DataCallBack<BaseResponseBean> callBack);


    /**
     * 注销
     */
    void requestLoginOutAccount(DataCallBack<BaseResponseBean> callBack);

    /**
     * 解绑DeviceId
     */
    void requestUnBindDeviceId(String client_no, DataCallBack<BaseResponseBean> callBack);

    /**
     * 地址删除
     */
    void requestAddressDelete(String id, DataCallBack<BaseResponseBean> callBack);

    /**
     * 地址添加
     */
    void requestAddressAdd(String name, String mobile, String province, String city, String area, String address, DataCallBack<BaseResponseBean> callBack);

    /**
     * 地址编辑
     */
    void requestAddressEdit(String id, String name, String mobile, String province, String city, String area, String address, DataCallBack<BaseResponseBean> callBack);

    /**
     * 地址列表
     */
    void requestAddressIndex(int page, DataCallBack<AddressListBean> callBack);

    /**
     * 我的订单
     */
    void requestMyOrderData(int page, String select_type, String order_status, DataCallBack<OrderListBean> callBack);

    /**
     * 订单详情
     */
    void requestOrderShow(String id, String select_type, DataCallBack<OrderDetailsBean> callBack);

    /**
     * 订单详情 赠送兑换
     */
    void requestExchangeOrderShow(String id, DataCallBack<ExchangeDetailsBean> callBack);

    /**
     * 兑换记录
     */
    void requestAgentExchangeDeviceIndex(int page, String status, DataCallBack<ExchangeListBean> callBack);

    /**
     * 转上级
     */
    void requestAgentTurnParent(String id, DataCallBack<BaseResponseBean> callBack);

    /**
     * 董事列表
     */
    void requestAgentDirector(int page, DataCallBack<DirectorListBean> callBack);

    /**
     * 签到
     */
    void requestSignAdd(DataCallBack<BaseResponseBean> callBack);

    /**
     * 签到天数
     */
    void requestSignRowSignDay(DataCallBack<SignInDayBean> callBack);

    /**
     * 签到天数
     */
    void requestIsSign(DataCallBack<SignIsBean> callBack);

    /**
     * 获取戒烟计划配置
     */
    void requestPlanConfig(DataCallBack<PlanConfigListBean> callBack);

    /**
     * 我的戒烟计划
     */
    void requestMyPlanList(int page, DataCallBack<MyPlanListBean> callBack);

    /**
     * 创建戒烟计划
     */
    void requestPlanCreate(String plan_id, String amount, DataCallBack<BaseResponseBean> callBack);

    /**
     * 申请结束
     */
    void requestPlanApply(String agent_plan_id, DataCallBack<BaseResponseBean> callBack);

    /**
     * 微海报
     */
    void requestPosterIndex(DataCallBack<PosterListBean> callBack);

    /**
     * 充值配置
     */
    void requestRechargeConfigIndex(DataCallBack<RechargeConfigBean> callBack);

    /**
     * 签到配置
     */
    void requestSignConfigIndex(DataCallBack<SginConfigBean> callBack);

    /**
     * 新手任务
     */
    void requestSignTaskIndex(DataCallBack<SginTaskBean> callBack);

    /**
     * 新手任务  微信朋友圈
     */
    void requestTaskWXTask(DataCallBack<BaseResponseBean> callBack);
}
